<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    * {
        margin: 0;
        padding: 0;
    }

    html {
        font-size: 12px;
    }

    body {
        width: 60%;
        font-family: Helvetica;
        margin: auto;
    }

    h2 {
        font-size: 4rem;
        margin: 2rem 0 3rem 0
    }

    p {
        font-size: 2rem;
        text-indent: 2rem;
        letter-spacing: .05rem;
    }

    p>span {
        background-color: transparent;
        color: inherit;
        background-image: linear-gradient(#73ffA0, #73ffA0);
        background-repeat: no-repeat;
        background-size: 0 38%;
        background-position: 0% 100%;
    }

    .animate {
        animation: heighlight 1s forwards ease-in-out;
    }

    @keyframes heighlight {
        to {
            background-size: 100% 38%;
        }
    }
</style>

<body>
    <h2>JavaScript最初由Netscape的Brendan</h2>
    <p>Eich设计，<span>
            最初将其脚本语言命名为LiveScript，后来Netscape在与Sun合作之后将其改名为JavaScript。</span>JavaScript最初受Java启发而开始设计的，目的之一就是“看上去像Java”，因此语法上有类似之处，一些名称和命名规范也借自Java，但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似，是当时Netscape为了营销考虑与Sun微系统达成协议的结果。微软同时期也推出了JScript来迎战JavaScript的脚本语言。
        发展初期，JavaScript的标准并未确定，同期有Netscape的JavaScript，微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性，Ecma国际（前身为欧洲计算机制造商协会）创建了ECMA-262标准（ECMAScript），两者都属于ECMAScript的实现，尽管JavaScript作为给非程序人员的脚本语言，而非作为给程序人员的脚本语言来推广和宣传，但是JavaScript具有非常丰富的特性。
        [10]</p>
    <p>1997年，在ECMA（欧洲计算机制造商协会）的协调下，由Netscape、Sun、微软、Borland组成的工作组确定统一标准：ECMA-262。完整的JavaScript实现包含三个部分：ECMAScript，文档对象模型，浏览器对象模型。
        [9]</p>
    <p>JavaScript是甲骨文公司的注册商标。<span>Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合，如服务器端编程（Node.js）。</p>
    <p>Eich设计，最初将其脚本语言命名为LiveScript，后来Netscape在与Sun合作之后将其改名为JavaScript。</span>
        JavaScript最初受Java启发而开始设计的，目的之一就是“看上去像Java”，因此语法上有类似之处，一些名称和命名规范也借自Java，但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似，是当时Netscape为了营销考虑与Sun微系统达成协议的结果。微软同时期也推出了JScript来迎战JavaScript的脚本语言。
        发展初期，JavaScript的标准并未确定，同期有Netscape的JavaScript，微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性，Ecma国际（前身为欧洲计算机制造商协会）创建了ECMA-262标准（ECMAScript），两者都属于ECMAScript的实现，尽管JavaScript作为给非程序人员的脚本语言，而非作为给程序人员的脚本语言来推广和宣传，但是JavaScript具有非常丰富的特性。
        [10]</p>
    <p>1997年，在ECMA（欧洲计算机制造商协会）的协调下，<span>由Netscape、Sun、微软、Borland组成的工作组确定统一标准：ECMA-262。完整的JavaScript实现包含三个部分：ECMAScript，文档对象模型，浏览器对象模型。</span>
        [9]</p>
    <p>JavaScript是甲骨文公司的注册商标。<span>Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合，如服务器端编程（Node.js）。</p>
    <p>Eich设计，最初将其脚本语言命名为LiveScript，后来Netscape在与Sun合作之后将其改名为JavaScript。</span>
        JavaScript最初受Java启发而开始设计的，目的之一就是“看上去像Java”，因此语法上有类似之处，一些名称和命名规范也借自Java，但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似，是当时Netscape为了营销考虑与Sun微系统达成协议的结果。微软同时期也推出了JScript来迎战JavaScript的脚本语言。
        发展初期，JavaScript的标准并未确定，同期有Netscape的JavaScript，微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性，Ecma国际（前身为欧洲计算机制造商协会）创建了ECMA-262标准（ECMAScript），两者都属于ECMAScript的实现，尽管JavaScript作为给非程序人员的脚本语言，而非作为给程序人员的脚本语言来推广和宣传，但是JavaScript具有非常丰富的特性。
        [10]</p>
    <p>1997年，在ECMA（欧洲计算机制造商协会）的协调下，由Netscape、Sun、微软、Borland组成的工作组确定统一标准：ECMA-262。完整的JavaScript实现包含三个部分：ECMAScript，文档对象模型，浏览器对象模型。
        [9]</p>
    <p>JavaScript是甲骨文公司的注册商标。<span>Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合，如服务器端编程（Node.js）。</span> </p>
</body>

<script>

    // new IntersectionObserver 观测页面元素是否哎视口内展示
    let observer = new IntersectionObserver((entries, observer) => {
        console.log(entries)
        entries.forEach(entry => {
            if (entry.isIntersecting) {
                entry.target.classList.add('animate')
                // 停止观察
                observer.unobserve(entry.target)
            }
        })

    })

    document.querySelectorAll("span").forEach(span => {
        // 开始观察且多次调用这个api
        observer.observe(span)
    })

    // observer.disconnect() 停止观察
</script>

</html>